In today's Software-Defined Networking (SDN), a control plane implements and maintains the control logic that governs the forwarding behavior of shared network switching elements on a per user basis. For example, the logical network of a tenant of a hosting system connects a set of end machines (e.g., virtual machines, physical machines, etc.) that are assigned to the tenant, to each other and to other virtual and/or physical networks through a set of logical forwarding elements (e.g., logical switches, logical routers, etc.).
Conventionally, a virtualization software (e.g., a hypervisor) of each host machine implements different sets of logical forwarding elements that connect the end machines operating on the host machine to different logical networks. However, adding a layer to the virtualization software to implement the different logical networks imposes performance overhead to the virtualization software and lowers the overall efficiency of the host machine that executes the virtualization software. Additionally, the hypervisor does not have control (e.g., to enforce network policies) over the end machines that can have access to hardware directly (e.g., through the pass-through technology).